package com.csglxt.base;

import java.util.List;

import com.csglxt.domain.PageBean;
import com.csglxt.utils.QueryHelper;

/**
 * 
 * @ClassName: DaoSupport
 * @Description: 基础数据库操作接口
 * @author Delver_Si
 * @date 2015-5-11 下午10:29:39
 * 
 * @param <T>
 */
public interface DaoSupport<T> {

    /**
     * 保存实体
     * 
     * @param entity
     */
    void save(T entity);

    /**
     * 删除实体
     * 
     * @param id
     */
    void delete(String id);

    /**
     * 更新实体
     * 
     * @param entity
     */
    void update(T entity);

    /**
     * 按id查询
     * 
     * @param id
     * @return
     */
    T getById(String id);

    /**
     * 按id查询
     * 
     * @param ids
     * @return
     */
    List<T> getByIds(String[] ids);

    /**
     * 查询所有
     * 
     * @return
     */
    List<T> findAll();

    /**
     * 公共的查询分页信息的方法
     * 
     * @param pageNum
     * @param pageSize
     * @param queryHelper
     *            HQL语句与参数列表
     * @return
     */
    PageBean getPageBean(int pageNum, int pageSize, QueryHelper queryHelper);

}
